1. /* sfodbdvf.cpp by K.Tsuru */
  2. // function ID = 727 DRADIX
  3. /***********************************************
  4. SFraction class
  5. It provides the division d/n, where d is double.
  6. d/(N/D) = (d*D)/N
  7. ************************************************/
  8. #ifndef SN_H
  9. #include "sn.h"
  10. #endif
  11. SFraction operator/(double d, const SFraction& n){
  12. if(n.Sign() == 0) n.num.SetError(n.num.DIVIDED_BY_ZERO,"double/SF", 711);
  13. SFraction r;
  14. if(d == 0.0) r.SetZero();
  15. else if(fabs(d) == 1.0L){
  16. r.Set(n.DenNR(), n.NumNR());
  17. if(d < 0.0) r.num.ChangeSign(); //r = -r;
  18. r.reduceDone = n.reduceDone;
  19. }else r.Set(d*n.DenNR(), n.NumNR()); // includes r.reduce(0);
  20. return r;
  21. }

sfodbdvf.cpp : last modifiled at 2016/04/22 11:25:53(680 bytes)
created at 2015/12/22 16:07:29
The creation time of this html file is 2016/09/13 19:56:38 (Tue Sep 13 19:56:38 2016).